package jm.mq;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;


/**
 * @Description 生产者代码
 * @date 2022/3/4 16:53
 */
public class Producer {

    // 队列名称
    private static final String QUEUE_NAME = "hello";

    public static void main(String[] args) throws Exception {
        // 创建连接工厂
        ConnectionFactory factory = new ConnectionFactory();

        // 配置连接IP
        factory.setHost("8.140.23.138");

        // 配置RabbitMQ用户名和密码
        factory.setUsername("guest");
        factory.setPassword("guest");

        // 建立连接
        Connection connection = factory.newConnection();

        // 获取信道
        Channel channel = connection.createChannel();

        // 产生队列
        /**
         * queueDeclare：
         *          1. 名称
         *          2. 是否持久化消息
         *          3. 是否只供一个消费者消费
         *          4. 没有消费者之后是否自动删除
         *          5. 其它参数
         */
        channel.queueDeclare(QUEUE_NAME,false,false,false,null);


        // 消息体
        String msg = "Hello RabbitMQ";

        // 发送消息
        /**
         * basicPublish：
         *          1. 指定交换机
         *          2. 路由的key
         *          3. 其它参数
         *          4. 消息体
         */
        channel.basicPublish("",QUEUE_NAME,null,msg.getBytes());

        System.out.println("----------==========发送完毕==========----------");
    }
}
